import { forbears } from './tools'


class grandparent extends forbears {
    constructor() {
        super(); // 调用父类的constructor()
        this.localherf = window.location.href

    }

    test() {
        super.toast()
    }
    static herf() {
        console.log(this.localherf)

    }
}

let son = new grandparent();

son.test()

// son.herf()

// @testable
// class MyTestableClass {
//     // ...
//     constructor() {}
// }

// function testable(target) {
//     target.isTestable = true;
// }

// true

// console.log(MyTestableClass.isTestable)

// function testable(target) {
//     target.prototype.isTestable = true;
// }

// @testable
// class MyTestableClass {}

// let obj = new MyTestableClass();
// //   obj.isTestable // true

// console.log(obj.isTestable)


//.....................................

// mixins.js
// function mixins(...list) {
//     // export function mixins(...list) {
//     return function(target) {
//         Object.assign(target.prototype, ...list)
//     }
// }

// main.js
//   import { mixins } from './mixins'

// const Foo = {
//     foo() { console.log('foo') }
// };

// @mixins(Foo)
// class MyClass {}

// let obj = new MyClass();
// obj.foo() // 'foo'


// async function f() {
//     return 'hello world';
// }

// f().then(v => console.log(v))
// "hello world"

// async function f() {
//     throw new Error('出错了');
// }

// f().then(
//         v => console.log(v),
//         e => console.log(e)
//     )
// Error: 出错了


new Vue({
    el: ".vm",
    data() {
        return {
            name: "苏"
        }
    }
})